package audit

import (
	"center/db"
	"context"
)

type Worker struct {
	db *db.CenterDB
}

func NewWorker(centerDb *db.CenterDB) *Worker {
	return &Worker{
		db: centerDb,
	}
}

func (w *Worker) Run(ctx context.Context) error {
	return nil
}

func (w *Worker) checkOnce(ctx context.Context) {
	//nodes, err := w.db.GetAllOnlineNode(ctx)
	//if err != nil {
	//	return
	//}
	//m := make(map[uuid.UUID]int)
	//for i := range nodes {
	//	m[nodes[i].ID] = 1
	//}
	//
	//segments := w.db.GetSegmentNodes(ctx, 0)
	//for _, segment := range segments {
	//	var offlineCount = 0
	//	var needRepair bool = false
	//	for k, v := range segment.NodePieces {
	//		fmt.Println(k, v)
	//		if _, ok := m[v]; !ok {
	//			offlineCount++
	//		}
	//		if offlineCount >= 2 {
	//			needRepair = true
	//			break
	//		}
	//	}
	//	if needRepair {
	//		fmt.Println("needRepair") //todo
	//		r := models.Repair{
	//			StreamId: segment.StreamId,
	//			Position: segment.Position,
	//			//NodePieces: segment.NodePieces,
	//		}
	//		w.db.CreateRepairOld(ctx, r)
	//	}
	//}

}
